package com.yujianweb.abstractClass;

/**
 * 抽象类：抽出相同方法
 * 抽象类不能被实例化，只能被子类调用
 * 有抽象方法的类只能定义成抽象类
 * 抽象类只能用来被继承
 * 抽象方法必须被子类实现
 */
public abstract class Animal {

    public abstract void rest();
    public abstract void run();

    public void shout(){
        System.out.println("Animal.shout");
    }
}

class Dog extends Animal{

    @Override
    public void rest() {
        System.out.println("Dog.rest");
    }

    @Override
    public void run() {
        System.out.println("Dog.run");
    }
}

class Cat extends Animal{

    @Override
    public void rest() {

    }

    @Override
    public void run() {

    }
}
